Large scale projects often require the dissemination of data to and from many different sources. For example, management of a large scale information technology (IT) project involving many different sites may require the tracking of requirements and progress at each site by multiple entities. In such an example, multiple vendors may be involved to provide different services, e.g., hardware installation, network administration, testing, etc., at the various sites. Tasks, dates, costs, etc., for activities performed by the different vendors must be tracked and synchronized to ensure an efficient project flow, e.g., testing by a vendor should not be scheduled and performed until all the systems at the site are installed by the other vendors. Logistical challenges can however arise when attempting to collect and synchronize significant amounts of data from many different entities.
One possible solution is to provide a database application through which each of the different entities could view and input data. One of the logistical challenges with such a solution however is the fact that importing and exporting data to a database application, such as DB2®, requires a fairly high level of sophistication on the part of the users. Although such applications can provide a powerful solution, their operation is generally not widely understood by most people. Thus, a traditional database approach may lack the flexibility and ease-of-use that is required by entities inputting and viewing the data.
The use of spreadsheets provides a potential solution that addresses the flexibility and ease-of-use issues that database applications often suffer from. Spreadsheet applications, such as EXCEL®, are widely used and understood by people in almost all industries (EXCEL is a trademark of Microsoft Corporation in the United States, other countries, or both). Accordingly, spreadsheets can potentially provide an excellent tool for inputting, viewing and managing data. However, one of the challenges of using spreadsheets in a large-scale project is that each different entity will typically utilize its own spreadsheet, and data from different spreadsheets must be regularly synchronized (i.e., data from cells in a first spreadsheet must be copied to cells in another spreadsheet). Moreover, for purposes such as efficiency or confidentiality, not all of the entities may be given access to the same data. Thus, it may be desirable to limit access (e.g., read-write, read, none) to different sets of data for each different entity. Accordingly, each entity may require its own unique and editable spreadsheet, in terms of both format and data. Synchronizing such spreadsheets is thus not a trivial process. However, given the flexibility and ease of use of spreadsheet applications, a need exists for a system that can automate the synchronization process among disparate spreadsheets.